aboutsummaryrefslogtreecommitdiff
path: root/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/(main)/websites/[websiteId]/WebsiteControls.tsx')
-rw-r--r--src/app/(main)/websites/[websiteId]/WebsiteControls.tsx40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx b/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx
new file mode 100644
index 0000000..6223dbc
--- /dev/null
+++ b/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx
@@ -0,0 +1,40 @@
+import { Column, Grid, Row } from '@umami/react-zen';
+import { ExportButton } from '@/components/input/ExportButton';
+import { FilterBar } from '@/components/input/FilterBar';
+import { MonthFilter } from '@/components/input/MonthFilter';
+import { WebsiteDateFilter } from '@/components/input/WebsiteDateFilter';
+import { WebsiteFilterButton } from '@/components/input/WebsiteFilterButton';
+
+export function WebsiteControls({
+ websiteId,
+ allowFilter = true,
+ allowDateFilter = true,
+ allowMonthFilter,
+ allowDownload = false,
+ allowCompare = false,
+}: {
+ websiteId: string;
+ allowFilter?: boolean;
+ allowDateFilter?: boolean;
+ allowMonthFilter?: boolean;
+ allowDownload?: boolean;
+ allowCompare?: boolean;
+}) {
+ return (
+ <Column gap>
+ <Grid columns={{ xs: '1fr', md: 'auto 1fr' }} gap>
+ <Row alignItems="center" justifyContent="flex-start">
+ {allowFilter ? <WebsiteFilterButton websiteId={websiteId} /> : <div />}
+ </Row>
+ <Row alignItems="center" justifyContent={{ xs: 'flex-start', md: 'flex-end' }}>
+ {allowDateFilter && (
+ <WebsiteDateFilter websiteId={websiteId} allowCompare={allowCompare} />
+ )}
+ {allowDownload && <ExportButton websiteId={websiteId} />}
+ {allowMonthFilter && <MonthFilter />}
+ </Row>
+ </Grid>
+ {allowFilter && <FilterBar websiteId={websiteId} />}
+ </Column>
+ );
+}